set $mod Mod4

font pango:inconsolata Display 12.5

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# start a terminal
bindsym $mod+Return exec urxvt

# kill focused window
bindsym $mod+Shift+q kill

# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run -i -nb '$bg-color' -nf '#FFFFFF' -sb '#CCCCCC' -sf '#151617'

# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# split in horizontal orientation
bindsym $mod+o split v

# split in vertical orientation
bindsym $mod+v split h

# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
#bindsym $mod+d focus child

# switch to workspace
set $workspace1 ""
set $workspace2 ""
set $workspace3 ""
set $workspace4 ""
set $workspace5 ""
set $workspace6 ""
set $workspace7 ""
set $workspace8 ""
set $workspace9 ""
set $workspace10 ""

bindsym $mod+1 workspace $workspace1
bindsym $mod+2 workspace $workspace2
bindsym $mod+3 workspace $workspace3
bindsym $mod+4 workspace $workspace4
bindsym $mod+5 workspace $workspace5
bindsym $mod+6 workspace $workspace6
bindsym $mod+7 workspace $workspace7
bindsym $mod+8 workspace $workspace8
bindsym $mod+9 workspace $workspace9
bindsym $mod+0 workspace $workspace10

set $height 700
set $length 1340

assign [class="Firefox"] $workspace1
assign [class="KeePass2"] $workspace7
assign [class="NetBeans IDE 8.2"] $workspace9
for_window [class="URxvt"] border pixel 3 
for_window [class="KeePass2"] move to workspace $workspace7 floating enable
for_window [class="KeePass2"] move position center 
for_window [class="Sxiv"] floating enable resize set $length $height
for_window [class="Sxiv"] move position center 
for_window [class="URxvt" title="ranger"] floating enable resize set $length $height
for_window [class="URxvt" title="ranger"] move position center
for_window [class="MuPDF"] floating enable resize set $length $height
for_window [class="MuPDF"] move position center 
for_window [class="mpv"] floating enable resize set $length $height
for_window [class="mpv"] move position center 
for_window [title="ncmpcpp"] floating enable resize set $lenght $height
for_window [title="ncmpcpp"] move position center
for_window [class="MComix"] floating enable resize set $lenght  $height
for_window [class="MComix"] move position center 
for_window [class="libreoffice*"] floating enable resize set $lenght $height
for_window [class="libreoffice*"] move position center 
for_window [class="[.]*"] border pixel 3

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10

# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
        bindsym l resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym j resize shrink height 10 px or 10 ppt
        bindsym h resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
        bindsym Left resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Right resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"

bindsym $mod+shift+x exec i3lock --color "$bg-color"
bindsym $mod+shift+g exec urxvt -e ranger
bindsym --release Print exec "import png:- | xclip -selection clipboard -t image/png"
bindsym --release Shift+Print exec "import ~/Images/$(date +%s).png"
bindsym --release Control+Print exec "import -window root ~/Images/$(date +%s).png"
bindsym $mod+Control+l workspace next
bindsym $mod+Control+h workspace prev
bindsym $mod+shift+n exec "~/Documents/ufpr/tads/apps/netbeans-8.2/bin/netbeans"
bindsym $mod+shift+s exec "~/.scripts/i3_color_schemes"
bindsym Control+Q ;

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)

set $bg-color            #2f343f
set $inactive-bg-color   #2f343f
set $text-color          #CCCCCC
set $inactive-text-color #676E7D
set $urgent-bg-color     #E53935

# window colors
#                       border              background         text                 indicator
client.focused          $bg-color           $bg-color          $text-color          #00ff00
client.unfocused        $inactive-bg-color  $inactive-bg-color $inactive-text-color #00ff00
client.focused_inactive $inactive-bg-color  $inactive-bg-color $inactive-text-color #00ff00
client.urgent           $urgent-bg-color    $urgent-bg-color   $text-color          #00ff00

bar {
  	status_command i3blocks -c ~/.config/i3blocks/config
	colors {
		background $bg-color
	    	separator #757575
		#                  border             background         text
		focused_workspace  $bg-color          $bg-color          $text-color
		inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
		urgent_workspace   $urgent-bg-color   $urgent-bg-color   $text-color
	}
}

hide_edge_borders both

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

gaps inner 5
gaps outer 5

exec firefox
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
exec wal -R
